Systems and methods for securing and locating computing devices

ABSTRACT

Methods and systems are provided for identifying a computing device and/or the user of such a device and granting or prohibit access to one or more devices based on the location of the computing device. User devices include receivers and emitters for localization signals, and behavior of user devices or user interaction devices are modified according to received localization signals. Example systems may provide tracking media streaming to local devices, automatic configuration of transmitters, or adaptation of multi-user interactions based on user location.

CROSS-REFERENCE TO RELATED APPLICATIONS

Some of the aspects of the methods and systems described herein havebeen described in U.S. Provisional Application Nos. 61/780,408 entitled“Systems And Methods To Synchronize Data To A Mobile Device Based On ADevice Usage Context”, filed Mar. 13, 2013; 61/781,252 entitled “SystemsAnd Methods To Secure Short-Range Proximity Signals”, filed Mar. 14,2013; 61/781,509 entitled “Systems And Methods For Securing And LocatingComputing Devices”, filed Mar. 14, 2013; 61/779,931 entitled “SystemsAnd Methods For Securing The Boot Process Of A Device Using CredentialsStored On An Authentication Token”, filed Mar. 13, 2013; 61/790,728entitled “Systems And Methods For Enforcing Security In MobileComputing”, filed Mar. 15, 2013; and U.S. Non-Provisional applicationSer. No. 13/735,885 entitled “Systems and Methods for Enforcing Securityin Mobile Computing”, filed Jan. 7, 2013, each of which is herebyincorporated by reference herein in its entirety.

BACKGROUND OF THE INVENTION

The present invention is in the technical field of computer security.More particularly, the present invention is in the technical field ofidentifying a computing device and/or the user of such a device usingcredentials stored on an authentication token and/or based on thelocation of the computing device.

SUMMARY OF THE INVENTION

As mobile devices, such as smartphones and tablet computers, become morepowerful and ubiquitous, it becomes advantageous to use them for anincreasing number of applications. In some instances, these applicationsmay require that sensitive information be stored in nonvolatile memoryon the device. It is therefore important to be able to protect saidinformation stored on the device both while the device is running andwhile the device is powered off. Securing a device may includeauthenticating a user's credentials.

An additional element of security may be added based on the location ofthe device. For example, a user of a device may be able to authenticateon the device, but may not get access to certain files unless the deviceis in a certain location. Similarly, a user may be able to authenticateon the device, but may be prohibited from accessing certain applicationswhile in a certain location (e.g. prohibited from texting while in acar).

Embodiments provide a plurality of beacons in the environment, whereineach beacon emits a localization signal. A system receives data derivedfrom a localization signal from a user device and determines the initiallocation of a user device within the environment based on thelocalization signal. A plurality of devices are also located within theenvironment, each of which may provide user interaction. A first userinteraction is provided via a first device, where the first device isselected from the plurality based on an initial location of the userdevice. An updated location of the user device is determined, and asecond user interaction is provided via a second device, where thesecond device is selected from the plurality based on the updatedlocation of the user device. Embodiments also operate by providingmultiple user devices, each of which emits and receives localizationsignals. Each device may include a display, a receiver, and an emitter.At least some devices also include a modification system which modifiesthe display of the device based on localization signals received fromother devices.

Tracking user devices may also enable additional applications for theuser devices. For example, location information may be used forgathering input for customer analytics, enabling the user devices tobehave as universal remotes, and enhancing multiplayer games.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 depicts certain components of a system that may be utilized inproviding a secure device.

FIG. 2 depicts a workflow for securing a computing system based on thepresence of users of a group of users.

FIG. 3 depicts a workflow for securing a computing system based on auser authenticated on a computing device in proximity to the computingsystem.

FIG. 4 depicts a workflow for securing a device.

FIG. 5 depicts a workflow for identifying the location of a computingdevice.

DETAILED DESCRIPTION

A platform for tracking the location of a user device may be useful forenhancing the security of the user device and other computing systems.Additionally, the location information derived from such a platform maypermit additional functionality for the user device, the other computingsystems or both.

Referring to FIG. 1, methods and systems of a platform for tracking auser device may comprise a network 114, one or more user devices 102A-Cin an environment 120 and enabled to communicate via the network 114, alocator enabled to communicate via the network 114, and a computingsystem 162 enabled to communicate via the network 114 and to determinethe location in the environment of the one or more user devices 102A-C.In embodiments, the locator may be a location beacon 160 enabled toreceive presence information, such as a high frequency sound created bya user device 102A. In some embodiments, the locator may be atransmitter 130 enabled to send presence information, such as a highfrequency sound to be received by a user device 102A, B, and/or C. Inembodiments, the locator may be a plurality of locators.

In embodiments, the user device 102A, B, and/or C may be a mobiledevice, such as a tablet, a mobile phone or a laptop. The user device102A, B, and/or C may comprise a processor 164, a memory 168, anapplication 138, a microphone 144, a speaker 142, a display 154, a data148, a screen lock facility 104, a credential processing facility 110,an authentication token reading facility 108, a device location monitor132 and an IR remote control facility 150.

The computing system 162 may be a server, a workstation, a desktop, alaptop, a missile launching facility, a testing facility, a mobiledevice, a vehicle system and/or some other computing system. The network114 may be one or more of a LAN, a wireless network, a wired network,and the like.

It may be imperative that the identity of the user be verified beforegranting access to the information stored on a device. Current solutionsto this problem involve using a “screen lock” function, which requiresusers to enter a password or PIN before granting access to the device.However, passwords may still be a point of insecurity, since thepasswords may be shared, stolen, sniffed, cracked, and/or have poorpassword strength. Such vulnerabilities relating to password securitypresent a broad attack surface to malicious users. A need exists forimproved solutions.

To provide the greatest level of security, methods and systems areprovided herein to prevent unauthorized users from unlocking a device,including without limitation by reducing the exposure to attacks byrequiring a user to authenticate himself or herself prior to unlockingthe device.

The present invention includes a system for securing the screen lock ofa device using credentials stored on an authentication token.

The present disclosure may provide greater security than just passwordprotection in the respect that users of a device may be required toauthenticate with an external authentication token before the deviceallows the users to access the screen lock.

This disclosure may increase the security of a mobile device bypreventing access to the device screen lock. This may be accomplishedusing an external authentication token. Said tokens may provide agreater level of security by increasing the number of possible unlockcombinations. For instance, a challenging password to remember may be 10characters long, for example. By comparison, authentication tokens mayprovide passwords of 256 characters or longer. An example of such anauthentication token is a Common Access Card (CAC). Another example ofsuch an authentication token is a Personal Identity Verification card,such as a card implementing NIST standard FIPS 201.

Referring to FIG. 1, a device 102A may comprise a screen lock facility104, an authentication token reading facility 108 and a credentialprocessing facility 110. In embodiments, devices 102 B and C may alsocomprise such facilities and components as device 102A, and devices 102Band C may also communicate with the same items as described in relationto device 102A although such specific facilities, components, andcommunications may not be shown. In various embodiments describedthroughout, it is understood that while a specific elements, such asdevice 102A, B, and/or C is described, it is understood that a pluralityof devices (or other elements) may be employed as appropriate. Thedevice 102A, B and/or C may be a mobile device, such as a mobile phone,a smartphone, a tablet, a laptop or some other device. The operatingsystem 104 may be Android, bada, BlackBerry OS, iOS, Series40, SymbianOS, Windows Phone or some other operating system. Such operating systemsmay support built-in screen lock facilities. The screen lock facility104 may require user authentication (e.g. by providing PIN, or byrequiring the user to swipe to unlock, etc.) in order to authenticatethe user. A custom screen lock facility 104 may be implemented assoftware widget that replaces or otherwise overrides the operatingsystem's built-in screen lock facility 104. In embodiments, the screenlock facility 104 may be implemented either as an accessory application,or the screen lock facility 104 may implement code for directlycontrolling the native screen locking functions. For example, the screenlock facility 104 may use OptioCore code to implement a screen lock foran Android device.

In embodiments, a user may be required to authenticate on the device102A, B and/or C using an external authentication token 112 in order toaccess the screen lock facility 104 on the device 102A, B and/or C. Inembodiments, the user may also be required to authenticate on the device102A, B and/or C using an external authentication token 112 in order todecrypt a root file system on the device 102A, B and/or C, and/or to usean operating system on the device 102A, B and/or C. When the device102A, B and/or C is locked, the credential processing facility 110 mayinstruct the user of the device 102A, B and/or C to provideauthentication information via the authentication token reading facility108. The authentication token reading facility 108 may readauthentication information from a physical device. The information maybe an authentication token 112. The authentication token 112 may bestored on a Common Access Card, Personal Identity Verification card(e.g. a card implementing NIST standard FIPS 201), a smartcard, a USBtoken, a SD card, a key fob, or some other physical device. Theauthentication token 112 may be a cryptographic key, such as a publickey certificate, a digital signature, biometric data, a user id, or someother authentication information. In some embodiments, theauthentication token reading facility 108 may be an external deviceconnected to the device 102A, B and/or C. In such embodiments, theauthentication token reading facility 108 may be configured tocommunicate with the device 102A, B and/or C via a communicationsmedium, such as Bluetooth, near field communication (“NFC”), Wi-Fi, orother wired or wireless communications medium. For example, theauthentication token reading facility 108 may be a smartcard readerconnected to the device 102A, B and/or C via Bluetooth.

In embodiments, the device 102A, B and/or C may be enabled to connect toa network 114. In such embodiments, authenticating the user on thedevice 102A, B and/or C may include communicating first, second, andthird authentication data over a short-range wireless signal between thedevice 102A, B and/or C and an in-location access point, wherein thesecond authentication data from the device 102A, B and/or C is based onthe first authentication data from the in-location access point and thethird authentication data from the in-location access point is based onthe second authentication data; communicating a fourth authenticationdata between the mobile device and a web-based information system,wherein the fourth authentication data comprises at least a portion ofat least one of the first, second, and third authentication data; andauthenticating access to network accessible content by the mobile devicewith the web-based information system. The first authentication data maybe the authentication token 112 data. The web-based information systemmay be a proxy 118. For example, the authentication token readingfacility 108 associated with the device 102A, B and/or C may receive theauthentication token 112 via NFC, send the second authentication data tothe in-location access point via Bluetooth heartbeat messages, receivethe third authentication data as responses to the Bluetooth heartbeatmessages, send a request to a web proxy 118 that includes the thirdauthentication data (e.g. in the form of hypertext transport protocol(HTTP) request with such data in the HTTP headers, for example), andreceive access to the device if the proxy 118 determines that the useris authorized, based on the third authentication data.

The credential processing facility 110 may determine whether theauthentication token 112 data is valid and whether the user is permittedto access the screen lock facility 104, based on the user providedauthentication token 112. Credential processing may include local ordistributed processing, using processing and storage capabilities of theauthentication token device 112 or using remote (e.g., server-based)processing capabilities. Upon determining that the authentication token112 data is valid and the user is permitted to access the screen lockfacility 104, the device 102A, B and/or C may present the user with theunlock screen and prompt the user for a password and/or PIN. Upondetermining that the authentication token 112 data is invalid and/or theuser is not permitted to access the screen lock facility 104, thecredential processing facility 110 may prevent the device 102A, B and/orC from presenting the user with the unlock screen. In some embodiments,the credential processing facility 110 could erase part or all of thedata stored on the device 102A, B and/or C upon a predetermined numberof failed authentication attempts.

For example, the user of the device 102A, B and/or C may provide asmartcard to be read by the authentication token reading facility 108associated with the device 102A, B and/or C, where the smartcardincludes the user's authentication token 112. The authentication token112 data may be one or more X.509 certificates. In this example, theauthentication token reading facility 108 may read the authenticationtoken 112 from the smartcard and provide the authentication token 112information to the credential processing facility 110. The credentialprocessing facility 110 may, then, determine whether the user isauthorized to access the screen lock facility 104, based on theauthentication token 112 information.

Referring now to FIG. 4, the process for authenticating the user maycomprise locking a device 402; prompting a user to provide anauthentication token 404; reading, by the device, the authenticationtoken 408; determining, by a credential processing facility, whether theuser is authorized to access the device, based on the authenticationtoken 410; and granting a user access to the device's unlock screen. Insome embodiments, granting the user access to the device's unlock screenmay include presenting the unlock screen, if the user is determined tobe authorized by the credential processing facility 414. In someembodiments, presenting the unlock screen 414 may include prompting theuser for a password and/or PIN, if the user is determined to beauthorized by the credential processing facility. If the user isunauthorized to access the device's unlock screen, based on theauthentication token, then the device may prohibit access to the unlockscreen by the user 412.

In retail store environments, such as BestBuy, Wal-Mart, Target, andothers, the appropriation of customer service representatives toparticular areas of the store is typically performed on a predeterminedschedule. For example, at any given time, three customer service repsmay be assigned to the electronics section, while two others are in homegoods. Currently, there is no effective method for determining, in realtime, the number of customer service representatives that are needed ina given product section of a store. The most effective method currentlyemployed is for customers to actively seek out existing personnel.However, this can become problematic in times of heavy volume, sincepersonnel in one section may become overwhelmed while personnel inanother section are idle. It would be advantageous for a retail store tobe able to dynamically appropriate personnel based on number ofcustomers in a particular area.

Therefore, it may be useful to implement a system for identifying thelocations and distribution of customers within a store and tracking thesame based on the locations of the customers' mobile computing devices.Location services, such as GPS provide reliable and precise locationinformation when the receiver has a clear view of the sky. However,these technologies are not effective indoors, making them unsuitable foruse in determining concentrations of customers at particular productareas within a retail store. Instead, it may be desirable to utilize anetwork of transmitters, transmitting an electronic heartbeat message toestablish a precise location for each user in the store.

Referring to FIG. 1, in embodiments, methods and systems of a customerservice representative dispatch system to locate and track customers inan environment 120 may comprise a network 114; one or more transmitters130A-C located in the environment 120 and enabled to emit an electronicheartbeat message and to connect to the network 114; a user device102A-C enabled to connect to the network 114 and to send locationinformation based on a received electronic heartbeat message; and aserver 122 enabled to connect to the network 114. The server 114 may becomprised of a customer location monitor facility 124 enabled to trackthe user device 102A-C based on the location information, and a customerservice dispatch facility 128 enabled to dispatch a customer servicerepresentative based on the user device 102A-C location. In embodiments,such device 102 A, B and/or C may further comprise additional devices aswould suit the number of users in the environment.

In embodiments, the transmitter 130A-C may be enabled to send anelectronic heartbeat message. Such heartbeat message may utilize one ormore protocols, such as, but not limited to Wi-Fi, Bluetooth, BluetoothLE, ultrasonic sound, Zigbee and the like. In embodiments, a transmittermay broadcast a unique identifier. For example, if an environment 120has a plurality of transmitters 130A-C, each transmitter 130 maybroadcast its own unique identifier so that the location within theenvironment 120 of a customer's mobile device 102A, B and/or C may bedetermined based on the unique identifier(s) received by the customer'smobile device 102A, B and/or C.

In some embodiments, the customer mobile computing device 102A-C may bea cellular phone, such as an iPhone, a Motorola Droid Razr Maxx, a HTCOne X, a Samsung Focus 2, a Samsung Gusto 2, or some other cellularphone. In other embodiments, the customer mobile computing device may bea tablet, such as an iPad, an Asus Eee Pad Transformer Prime, a SonyTablet S, a Samsung Galaxy Tab 10.1, or some other tablet.

The server 122 may be comprised of a customer location monitor facility124 and a customer service dispatch facility 128. The server may beconnected to the one or more transmitters 130A-C in the environment viaa network 114. The network 114 may be one or more of a wireless network,a wired network, a LAN, a WAN, a MAN or some other network. In someembodiments, the server 122 may also be connected to a data store 134.Such data store 134 may be a database or file system.

The customer mobile computing device 102A, B, and/or may be enabled touse the unique identifier received from a transmitter 130A, B and/or Cto determine the said customer mobile computing device's 102A, B and/orC location in the environment 120. In some embodiments, the step ofdetermining may involve uploading the unique identifier by the customermobile computing device 102A, B and/or C to the server 122 via thenetwork 114. The customer location monitor facility 124 on the server122 may use the unique identifier to look up in a data store 134 thelocation of the transmitter 130 A, B and/or C transmitting said uniqueidentifier, where the data store 134 may store the unique identifierassociated with each such transmitter and the location of each suchtransmitter. In embodiments, determining the location of the customermobile computing device 102A, B and/or C may comprise the customermobile computing device 102A, B and/or C comparing a first identifierwith a local data store, such as a database or file system, containing aplurality of identifiers and corresponding location information todetermine the location of a first transmitter 130A. The location of thefirst transmitter 130A may then be used to determine the location of thecustomer mobile computing device 102A, B and/or C based on one or moreof the configuration parameters of said electronic heartbeat message andthe transmitter 130A (e.g. the range of the transmitter's signal, atriangulation based on a plurality of heartbeat messages from aplurality of transmitters, etc.).

In embodiments, once the location of the customer mobile computingdevice 102A has been determined, said location of mobile computingdevice 102A, B and/or C may be accessed at the server 122. In someembodiments, the server 122 may not be the same server 122 thatdetermined the location of the customer mobile computing device 102A, Band/or C. For example, the customer location monitor facility 124 maydetermine the location of the customer mobile computing device 102A, Band/or C and pass the location information to the customer dispatchfacility 128. The customer service dispatch facility 128 on the server122 may then, automatically or otherwise, dispatch one or more customerservice representatives to the location in the environment 120 where thecustomer mobile computing devices 102A, B and/or C is located. Thecustomer service dispatch facility 128 may also be enabled to performbusiness intelligence based on the customer mobile computing devices102A, B and/or C location information. For example, the customer servicedispatch facility 128 may determine that there are a sufficient numberof customer service representatives in the vicinity of the customermobile computing devices 102A, B and/or C. In another example, thecustomer service dispatch facility 128 may determine that there are morecustomers in a different location in the environment and that one ormore customer service representatives in the vicinity of the customermobile computing devices 102A, B and/or C should be dispatched to alocation of greater need in the environment 120. In embodiments, aperson may actively monitor the system and/or data therefrom and maydispatch personnel based on the same. The step of dispatching couldoccur in other ways as well.

Referring now to FIG. 5, the process for identifying the location of auser device may comprise entering a shopping environment by a user witha device 502, transmitting a heartbeat message by a transmitter 504,receiving the heartbeat message by the user device 508, determining theuser device's location based on the heartbeat message 510, dispatchingto a location one or more customer service representatives based on thenumber of devices at the user device's location 512. As discussed above,the environment may be a store, an arena, a mall, or some other shoppingenvironment. Similarly, as discussed above, the user device may be amobile computing device, such as a mobile phone or a tablet. As alsodiscussed above, the heartbeat message may include a unique identifier.In embodiments, the unique identifier may be location-relatedinformation (e.g. the coordinates of the transmitter, the name of asection or some other location-related information).

In embodiments, the heartbeat message may comprise one or more of aunique identifier, a location identifier and/or some other identifierinformation. In embodiments, determining the user device's locationbased on the heartbeat message 510 may comprise determining the locationby the user device. For example and as discussed above, the user devicemay determine its location by comparing the heartbeat message to data ina local data store. In embodiments, such local data store may reside onthe user device. In some embodiments, determining the user device'slocation based on the heartbeat message 510 may comprise determining thelocation by a server. For example and as discussed above, the userdevice may receive a heartbeat message with a unique identifier from atransmitter, transmit the unique identifier to a server via a network,and the server may determine the location of user device based on thereceived unique identifier.

In embodiments, dispatching to a location one or more customer servicerepresentatives based on the number of devices at the user device'slocation 512 may further comprise determining a heat map of user devicesin the shopping environment, determining a heat map of customer servicerepresentatives in the shopping environment, determining aredistribution of customer service representatives by comparing the twoheat maps, and dispatching to a location or more customer servicerepresentatives. For example, if the user device is located in an areawith a ratio of customers-to-customer service representatives is over aspecified threshold, a customer service representative may be dispatchedto that location to provide additional assistance. The step ofdispatching may occur automatically using an automated dispatch system,or could include a person actively monitoring the system and dispatchingpersonnel as appropriate. The step of dispatching could occur in otherways as well. Determining a redistribution of customer servicerepresentatives may further comprise a business intelligence analysis.For example, the server may perform one or more of the following stepsin connection with determining the redistribution of customer servicerepresentatives: record a customer shopping pattern, record a customerservice representative redistribution outcome, analyze a customershopping pattern, analyze a customer service representativeredistribution outcome, or some other business intelligence action.

Businesses may also benefit from the ubiquity of mobile devices andnetworks by using information regarding the locations of user devices todispense coupons for encouraging users in certain locations.

Referring to FIG. 1, in embodiments, systems and methods for dispensingcoupons based on the location of a user may comprise providing a userdevice 102 A, B and/or C, which may comprise a display 154 and amicrophone 144, and which may execute an application 138; providing atransmitter 130A, B and/or C, wherein the transmitter 130A, B and/or Cmay be enabled to emit a high frequency sound and may be located in anenvironment 120; receiving, by the microphone 144 on the device 102A, Band/or C, a high frequency sound from the transmitter 130A, B and/or C;and altering the display 154, by the application 138, to provide acoupon, based on the one or more of the characteristics and contents ofthe high frequency sound. In embodiments, the transmitter 130A, B and/orC may be a plurality of transmitters 130A-C. In embodiments, the display154 may be a touch screen. The transmitter 130 may be a speaker. Thecharacteristics and contents of the high frequency sound may includelocation information of the transmitter 130A, B and/or C, locationinformation of an item in the environment (e.g. the location of a goodfor sale in a store), a timestamp, the frequency, a pattern of the highfrequency sound, or some other characteristics and contents.

For example, the user device 102A, B and/or C may execute an application138 that runs in the background and that monitors the microphone 144 forhigh frequency sounds. When the application 138 determines that themicrophone 144 has received a broadcast from a speaker within a retailstore, the application 138 may change the display 154 to depict acoupon, such as in a web browser or other application, for use in theretail store.

In some embodiments, the transmitter 130A, B and/or C may emit a highfrequency sound to alter one or more of a sale, transaction, lease,offer for sale, proposed transaction, or other information. Suchalteration may be a change to the sale price, the characteristics of asale, lease, or other transaction. For example, the transmitter 130A, Band/or C may be located in a store in the vicinity of a particular goodthat the store is marketing heavily. When the application 138 determinesthat the microphone 144 has received a broadcast from the transmitter130A, B and/or C, the application 138 may change the sale price for thegood and the like.

In embodiments, the high frequency sound emitted by the transmitter130A, B and/or C may include an information associated with a product orcategory of products located in proximity with the transmitter 130. Forexample, the transmitter 130 may be located near a particular televisionor brand of televisions, and the high frequency sound emitted by thetransmitter 130 may include information regarding discounts on suchtelevisions.

In embodiments, when the application 138 determines that the microphone144 has received the high frequency sound emitted by the transmitter130A, B and/or C, the application 138 may send information related tothe high frequency sound to a server 122. The information may be one ormore characteristics and contents of the high frequency sound. Theserver 122 may include a coupon analytics facility 158. The couponanalytics facility 158 may, based on the information received from theapplication 138, determine a coupon to be displayed on the devicedisplay 154 and send such coupon to the device 102A, B and/or C via thenetwork 114. Additionally, the coupon analytics facility 158 may beenabled to direct the transmitter 130A, B and/or C to emit a particularhigh frequency sound in order to change the response of the application138. Returning to the example above with the transmitter 130A, B and/orC near the televisions, the coupon analytics facility 158 may direct thetransmitter 130A, B and/or C to change the high frequency sound it emitsso that an application 138 would display a new sales price or an offerfor a discount on an existing price. In such embodiments, the couponanalytics facility's 158 direction to a transmitter 130A, B and/or C toemit a particular high frequency sound may be based on one or more ofmarketing input, inventory input, a timer input, customer locationinput, other customer data input, or other inputs.

Currently, large retail locations do not have a good method foranalyzing the movements of customers within a store. This kind ofinformation could be extremely valuable to commercial organizations thattypically operate in large spaces, helping them to arrange the storelayout in such a way that improves customer experience, increasespurchases and reduces lost sales to other retailers, such as e-commerceplatforms. Furthermore, such information could also allow retailers todeliver targeted advertisements based on previous customer interest inproducts and services.

As described above, businesses may track customers in a retail space inorder to dispatch customer service representatives. Tracking customersmay also be useful for analyzing the behavior of the customers

Referring again to FIG. 1, methods and systems of analyzing customerbehavior based on tracking customer locations may comprise providing atransmitter 130 A, B and/or C in an environment 120 wherein suchtransmitter is enabled to emit a high frequency sound signal; providingone or more customers each with a user device 102 A, B and/or Ccomprising a microphone 144 enabled to receive a high frequency soundsignal, and wherein the user device 102 A, B and/or C is enabled to senddata based on the received high frequency sound signal; providing acomputing system 162, wherein the computing system 162 is enabled toreceive data from each such user device 102A, B and/or C and todetermine the user device 102A, B and/or C location in the environment120 based on such received data; and analyzing the user device 102A, Band/or C location information by the computing system 162 to identifyuseful characteristics. In embodiments, such device 102A, B and/or C mayfurther comprise additional devices as would suit the number of users inthe environment. Such analysis may include one or more of generating aheat map based on where the user spent time in the environment 120,comparing what the user purchased against the heat map, totaling thetime user spent in the environment 120, comparing what the userpurchased against other users, comparing the user heat map with otherheat maps, or other analyses. Based on the analysis, the business forwhom the analysis is performed may perform one or more of push data tocustomers (e.g. coupons, updated sales or marketing materials, productcomparison information, etc.), optimize the layout of the business (e.g.move products to be highlighted to certain end caps or otherhigh-traffic areas), provide information to vendors (e.g. customer heatmap information related to the vendors' products, etc.) and use theanalysis for other business purposes.

For example, a grocery store may have high frequency emittingtransmitters located in several aisles to provide the customers deviceswith location information. The customers devices could transmit periodicupdates to a server 122 connected via the store's wireless network 114.The store's server 122 may analyze the customer location data receivedto identify customer movement patterns. The customer movement patternsto be used, for example, by a consultant, to reorganize the layout ofthe store in order to make a typical customer's movement path moreefficient or draw customer attention to certain sections of the store toincrease revenue and customer experience.

Methods and systems of a customer service representative dispatch systemmay be used to locate and track customers in an environment. Suchmethods and systems may be associated with analyzing customer behaviorbased on tracking customer locations as described herein, for example.By way of example, the determination to dispatch a customer servicerepresentative may be based on the results of analyzing customerbehavior based on tracking customer locations. In this example, based onthe analysis of the customer behavior, a business may note that there isnot much customer traffic near where a popular consumer good is beingsold, and, therefore, may dispatch one or more customer servicerepresentatives to that area to help customers find the good.

Methods and systems for dispensing coupons based on the location of auser may be used to track customers in an environment and offer for salesome good in the environment. Such methods and systems may be associatedwith analyzing customer behavior based on tracking customer locations.By way of example, the determination to dispense a coupon may be basedon the results of analyzing customer behavior based on tracking customerlocations, as described herein, for example. In this example, based onthe analysis of the customer behavior, the business may determine thatone or more users with certain heat map patterns are less likely to buycertain goods sold by the business. Based on this determination, thebusiness may issue a coupon for such goods to users who exhibit similaror the same patterns.

As devices become more mobile and networks become more ubiquitous,device users have a growing number of options of outputs to connect totheir devices. For example, many home audio or theater systems arenetworked and may contain multiple speakers and other output devicesthroughout a home. Similarly, offices have multiple output sources forusers, such as monitors at a user's desk and a projector in a meetingroom. Often, users of these systems will move throughout theirenvironment, whether at home or in the office, and switch their outputdevice. In the home user example, the user may move through their homewhile listening to or otherwise consuming content. Currently, such usersmust manually turn on and turn off output devices based on the room theyare entering or leaving respectively. It would be advantageous for sucha system to be able to automatically enable or disable output devicesbased on the detected location of the user. Again, providingtransmitters throughout an environment may provide a desirable solutionfor such automatic switching.

Referring again to FIG. 1, in embodiments, systems and methods forautomatic switching of output devices based on a location may compriseproviding a user device 102A, B and/or C in an environment 120,providing a plurality of output devices 140A-B located in theenvironment 120, providing one or more transmitters 130A-C in theenvironment for determining the location of the user device 102A, Band/or C within the environment 120, streaming a media stream to a firstoutput device 140A, determining the location of the user device 102A, Band/or C in the environment 120, and switching a media stream from afirst output device 140A to a second output device 140B, based on thelocation determination. The media stream may be an audio stream (e.g. aradio broadcast, a podcast, mp3 audio, audio played from a CD, or someother media stream), a video stream (e.g. images to be displayed on amonitor), an audio/video stream (e.g. a movie, a television show or someother combined audio and video stream), or some other media stream.

The environment 120 may be a home, an office, or some other environment.The user device 102 A, B and/or C may be a mobile device, such as a cellphone, a personal assistant, a tablet, a laptop or some other mobiledevice. The user device 102A, B and/or C may be comprised of amicrophone 144. An output device 140 may be a monitor, a television, anaudio component, a printer, a media device (e.g. a Roku, an Apple TV, aPlayStation, an Xbox, etc.), another user device 102B, or some otheroutput device.

In embodiments, the user device 102A, B and/or C, the transmitter 130,and the output devices may be connected via a network 114. The network114 may be wired or wireless. The network 114 may be a LAN.

In embodiments, the transmitters 130A-C may be enabled to emit a messageand/or data. In embodiments, such message may be a high frequency. Aspreviously noted, such message may utilize one or more protocols, suchas, but not limited to Wi-Fi, Bluetooth, Bluetooth LE, ultrasonic sound,Zigbee and the like.

In embodiments, the user may select an output device 140 for the userdevice 102A, B and/or C. Selecting the output device 140 may include oneor more of selecting the initial output device 140A and/or B, selectinga default output device 140, selecting the output device 140A and/or Bfor the current location, selecting the output device 140A and/or B fora different location and selecting the output device 140 A and/or B forsome other purpose. Selecting an output device 140 A and/or B may alsoinclude defining a location within the environment 120.

When a user with a user device 102 A, B and/or C enters into anenvironment, the user device may be enabled to receive a message from afirst transmitter 130A. For example, the user may enter the living roomin his home and his cell phone may receive a high frequency sound from afirst transmitter 130A located in the living room. In this example, theuser device's 102 A, B and/or C may receive, via a microphone 144, thehigh frequency sound from the first transmitter 130A. If the user has anoutput device 140A, for example, associated with that location, thedevice 102 A, B and/or C, upon receiving the high frequency sound mayroute output to the associated output device 140A. In this example, theoutput device 140A may be a set of speakers located in the living room.If, in this example, the user has a second transmitter 130B located inhis bedroom and walks to his bedroom, the user device 102A, B and/or Cmay receive a high frequency sound from the second transmitter 130Blocated in the bedroom. Upon receiving the new high frequency sound andthe user device 102A, B and/or C may switch the media stream to thesecond output device 140B associated with the bedroom, for example, adifferent set of speakers in the bedroom.

In some embodiments, the media stream may be from a remote computingsystem (e.g. a streaming media device, like a Roku, or a cable box,etc.). In such embodiments, the user device 102A may, in response toreceiving a high frequency sound from a transmitter 130A, B and/or C,may transmit data (e.g. observed characteristics of the high frequencysound) to a remote computing system, such as a server 122. The remotecomputing system may associate the (e.g. the characteristics of the highfrequency sound) with an output device 140A and/or B and, then switchthe media stream to the output device 140.

In embodiments, the device 102A, B and/or C may be further enabled todetermine when it no longer is receiving a message from a firsttransmitter 130A. When the device 102A, B and/or C no longer isreceiving a message from the first transmitter 130A, the device 102A, Band/or C may communicate such determination to the server 122. Inresponse to receiving such determination, the server 122 may terminatethe media stream to the first output device 140A.

As devices become more mobile and networks become more ubiquitous,device users also have a growing number of devices that may becontrolled remotely, either by IR signals or over some other protocol.As previously noted, many home audio or theater systems are networkedand may contain multiple speakers and other output devices throughout ahome, and such devices may be controlled remotely, including by otherdevices on the network. Since the user already has one device, it may bedesirable to enable that device to control the other devices in theenvironment. Furthermore, it may be desirable to enable the device toautomatically detect its location and configure itself to control thedevices in the same location. In the home user example, the user maystart watching a media stream in one room and use the user device tocontrol the home media system in the first room. If the user moves toanother room to finish watching the media, it may be useful to have theuser device identify the location change and reconfigure which devicesit is set to control. Currently, such users must either keep separatecontrols for each room, or manually switch a controller based on theroom they are entering or leaving. It would be advantageous for such asystem to be able to automatically enable or disable the control of theoutput devices based on the detected location of the user. Again,providing transmitters throughout an environment may provide a desirablesolution for such automatic switching.

Referring still to FIG. 1, in embodiments, systems and methods forautomatic switching of the controls of a plurality of output devicesbased on a location may comprise providing a user device 102A, B and/orC in an environment 120, providing a plurality of output devices 140A-Blocated in the environment 120, providing one or more transmitters130A-C in the environment for determining the location of the userdevice 102A, B and/or C within the environment 120, providing a controlinterface for the first output device 140A on the display 154 of theuser device 102A, B and/or C, determining the location of the userdevice 102A, B and/or C in the environment 120, and modifying the IRremote control facility 150 and the display 154 of the user device 102A,B and/or C to control of a second output device 140B, based on thelocation determination. As noted above, the user device 102A, B and/or Cmay include a microphone. The transmitters 130A-C may be enabled to emita message and may each be associated with one of the output devices140A-B. In some embodiments, a transmitter 130 may be physically locatedwithin close proximity to the output device 140 controlled by the userdevice 102. For example, the transmitter 130A, B and/or C associatedwith a speaker system in one room may be located adjacent to thatspeaker system, and the transmitter 130A, B and/or C associated with aspeaker system in another room would be located adjacent to thatspeaker.

In some embodiments, the systems and methods may further comprisealtering an output from the user device 102A, B and/or C based on thecharacteristics or contents of the message received from a transmitter130A, B and/or C. For example, the user device 102 A, B and/or C may beenabled to, based on the frequency of sound received from a transmitter130A, B and/or C, download and configure specific IR remote controlfacility codes for controlling an output device in the environment 120via the IR remote control facility 150 on the user device 102A, B and/orC.

Modifying the IR remote control facility on the user device 102A, Band/or C may further comprise determining which output device 140 islocated at a location and associated with a transmitter 130A, B and/orC, based on the message from the transmitter 140A and/or B, thenmodifying the control interface. Modifying the control interface mayalso include changing one or more output signals and/or protocols fromthe user device 102A, B and/or C for controlling the correct outputdevice 140A and/or B. For example, the user device 102A, B and/or C may,but is not limited to, determine its location based upon a highfrequency sound from a transmitter 130A, B and/or C in the room, andadjust the volume of all speakers within a home in order to maintain aconsistent volume to the user as they move from room to room.

Returning the example of the user at home, the user may walk into theliving room. The user device 102A, B and/or C may receive a message froma first transmitter 130A located in the living room. Upon receiving themessage from the first transmitter 130A, the device may modify the IRremote control facility 150 to control an output device 140A and modifythe display 154 to depict controls for an output device 140A in theliving room, such as a home theater system. The controls depicted on thedisplay 154 may include the controls available via the IR remote controlfacility 150, such as a volume control, frequency tuning control, adevice input control, a power control, a DVD player control or someother device control.

Staying with this example, when the user walks into the kitchen, theuser device 102A, B and/or C may receive a message from a secondtransmitter 130B located in the kitchen. Upon receiving the message fromthe second transmitter 130B, the device may modify the IR remote controlfacility 150 and the display 154 to depict controls for an output device140B in the kitchen, which may be an iPod docking station, for example.

Methods and systems of automatically switching of output devices basedon a location may be used to track a user in environment and providedynamic output selection, based on the user's location. Such methods andsystems may be associated with automatically switching the controls fora plurality of output devices. For example, upon determining that a userhas moved from one location associated with a first output device to asecond location associated with a second output device, the user devicemay automatically switch the media stream from the first to the secondoutput device and automatically switch the controls and the display onthe user device from the controls associated with the first outputdevice to those associated with the second output device. Inembodiments, such determination may be made by receiving at the device ahigh frequency message from a transmitter associated with a specificoutput device, as described herein, for example.

In addition to the foregoing security and business benefits discussedabove, locating and tracking a user based on the location of the user'sdevice may have game and/or multiplayer game applications. This mayprovide an inexpensive way of introducing potentially asymmetricinformation dissemination to players of a multiplayer game. Asymmetricgameplay is an emerging sector of the game industry, and has thepotential to drive a large amount of innovation, as evidenced by thedevelopment of the Wii U.

Referring still to FIG. 1, in embodiments, systems and methods ofdetecting players for a multiplayer game, may comprise a multiplayergame; a first user device 102A for playing the game and comprising adisplay 154, a microphone 144 and a speaker 142 for emitting a highfrequency sound signal; and a second user device 102B for playing themultiplayer game and comprising a display 154, a microphone 144 and aspeaker 142 for emitting a high frequency sound signal, wherein thesecond user device 102B is enabled to alter the content of the firstuser device's 102A display 154, based on a high frequency sound signalemitted by the speaker 142 of the first user device 102A. Themultiplayer game may be an application 138 executing on the device 102A,B and/or C. The multiplayer game may be a coop game, a competitive coopgame, a sports game, a deathmatch-style game, a capture-the-flag-stylegame, a king-of-the-hill-style game, or some other multiplayer game. Thedevice 102A, B and/or C may be a game system, such as Wii U, an Xbox, aPlayStation 3, a PlayStation Vita, a Gameboy, a tablet (e.g. an iPad)with a game installed, a controller for a game system (e.g. a Wii UGamePad) or some other game system and/or component of a game system.Altering the content of the first user device's 102A display 154 basedon a high frequency sound signal emitted by the speaker 142 of the firstuser device 102A may include altering the display 154 to show locationinformation related to the user of the second user device 102B.

For example, two players may be playing a multiplayer game on a Wii U inthe same room. The players' characters may be located in different partsof the same game map and the first player may be hiding from the secondplayer. The first player's controller may emit a sound, such as a highfrequency sound based on the first player's character's location in thegame map. The second player's GamePad may receive the sound, analyze itin whole and/or in part, and update the map information displayed on theGamePad to indicate the general direction of the first player'scharacter. In embodiments, the emitted sound may alter one or more ofvarious devices and/or one or more of various devices may emit a soundfor altering content of the display of one or more devices based on ananalysis of the sound and/or an analysis of the sound and other dataand/or one or more items. In embodiments, devices such as a game headsetcould alter the intensity of an indicator and/or display to reflect adetected amplitude of a specific sound frequency, and may therebyindicate the proximity of other players.

In some situations, it may be beneficial to ensure that all the users ofa particular system are present in the same location before granting anyuser access to a system. A potential example of this need arises from atesting scenario in which no user should be granted an unfair advantageover another user by being granted access to test materials before anyother user. Another example involves the authorization of particularactions that carry significant consequences, such as launching a missileor overriding a safety control. In such cases, it may be necessary toguarantee that the required users are physically present together beforeallowing a specific action (e.g. launching a missile) to be executed.This may be accomplished by securing access to some resource, such as acomputing system, until all the required users are located in thevicinity of the resource. Tracking and confirming the locations of therequired users may be accomplished with a location beacon to trackunique sounds emitted by enabled devices carried by the required users.

Referring again to FIG. 1, in embodiments, methods and systems ofauthenticating a group of users may comprise a plurality of user devices102A, B and/or C, each comprising a speaker for emitting a highfrequency sound signal; a location beacon in an environment 120 andenabled to receive a plurality of high frequency sound signals; and acomputing system enabled to communicate with the location beacon andcomprising a location determination facility that is enabled to provideaccess to the computing system based on a determination that every userof a plurality of users is located within the environment. The highfrequency sound signals may be unique for each user device 102A, Band/or C, for example in a given environment 120, so that each userdevice 102A, B and/or C may be uniquely identified. For example, eachdevice 102A, B and/or C may be assigned a high frequency sound signalwith a unique variation in frequency or other acoustic characteristic.

For example, a testing environment may have a fixed location beacon 160that is configured to receive ultrasonic signals. The students who arerequired to be present for the test may each have a user device 102A, Band/or C. Each device 102A, B and/or C may have a speaker 142 enabled toproduce an ultrasonic signal. The location beacon 160 and the userdevices 102 A, B and/or C may each be connected to a computing system162 via a wireless network 114. The user devices 102A, B and/or C mayreceive from the computing system 162 a specific ultrasonic signalconfiguration, unique to each device 102. For example, when a user signsup for the test, the computing system 162 may send said user's device102A, B and/or C the specific ultrasonic signal configuration to beemitted for a period before the exam and during the exam. Each device102A, B and/or C may then transmit the specific signal with theconfiguration received from said computing system 162. The locationbeacon 160 may provide updates to the computing system 162 regarding theultrasonic signals from the devices received by the location beacon 160.The computing system 162 may track which students are located in thetesting environment based on the updates from the location beacon 160.Once the computing system 162 determines that all the required studentsare located in the testing environment, the computing system 162 maybegin the test and grant the students access to the test materials.

Referring now to FIG. 2, authenticating a group of users may compriseproviding a computing system, including a fixed location beaconconfigured to receive signals 202; entering of an environment by a userwith a user device 204; receiving by the computing system via thelocation beacon of a signal from the user device 208; determining by thecomputing system whether all the users required in a group are in theenvironment, based on the received signals 210; providing access to thecomputing system if all the required users are in the environment 214;and accessing of the computing system by the group of users 218. Inembodiments, if not all the required users are in the environment, allthe users may be prohibited from accessing the computing system 212. Inembodiments, where not all users are in the environment at a particulartime, the system may continue receive signals from users until all usersare present or some other defied time.

An additional application for location-based security is to secureaccess to data in a file system (i.e. read, write, execute, modify,delete, copy, and/or transmit) based on a user's location.

Referring again to FIG. 1, systems and methods of controlling access todata on a device may comprise a first user device 102A, comprising aspeaker 142 enabled to send a heartbeat message; a second user device102B, comprising a microphone 144 enabled to receive a heartbeat messageand a speaker 142, enabled to send a first data, including data toindicate receipt or failure to receive the heartbeat message; and athird user device 102C enabled to send a second data upon receiving thefirst data from the second user device 102B and determining that thesecond data may be sent to the second user device. In embodiments, thedetermination of whether the second data may be sent to the seconddevice may be a location-related determination. For example, thedetermination may be based whether the location of the second device isconsidered secure (e.g. based on where, whether the user of the seconddevice is authorized to access the second data in the given location,whether the second data is related to the location of the second userdevice (e.g. the user of the second device may be permitted to access asecond data related to a room of museum based on whether the seconddevice is located in the relevant room in the museum), or some otherlocation-related determination.

For example, a user device could pick up a high frequency soundbroadcast by a speaker device, identify the frequency of the sound, andreport the frequency to a remote file server in an effort to gain accessto files on that server. The server would then process the reported dataand determine whether to grant access to the mobile device.

In some embodiments, the heartbeat message may be sent as a highfrequency sound embedded in television or radio media. A mobile device102A, B and/or C may be enabled to receive such media and use the highfrequency sound to request content from a server 122 that may berelevant advertising content.

By way of example, in embodiments, controlling access to first datastored on a first device may include sending a heartbeat message from asecond device to a third device (having memory, a processing unit and amicrophone), prompting the third device to send second data to a fourthdevice (which may also be the first device) said data including, but notlimited to, information signifying receipt or failure to receiveheartbeat messages, so that the fourth device may process the seconddata in whole or in part to determine whether access to the first datashould be granted to the third device. Such access may include theability to read, copy, modify, delete and/or transmit said data. Inembodiments, such firs, second, third, fourth, etc, device may comprisea plurality of devices such that messages are send to and from one ormore devices at the steps described. In embodiments, a mobile device maypick up a high frequency sound broadcast by a speaker device, identifythe frequency, and report the frequency to a remote file server in aneffort to gain access to files on that server. The server may thenprocess the reported data and determine whether to grant access to themobile device.

An additional application for location-based security is to secureaccess to an application based on a user's location.

Referring again to FIG. 1, methods and systems of controlling access toan application 138 on a device 102A, B and/or C may comprise providing atransmitter 130A, B and/or C enabled to emit a high frequency sound;providing a user device 102A, B and/or C enabled to receive a highfrequency sound; and blocking access by a user of the user device 102A,B and/or C to an application on the user device, while the user device102A, B and/or C receives the high frequency sound from the transmitter130A, B and/or C.

For example, the transmitter 130A, B and/or C may be located in a car,truck, other automobile, or other piece of machinery around whichcertain kinds of phone usage might be dangerous. In this example, thetransmitter 130A, B and/or C may broadcast a signal whenever theautomobile is not in park, so that the driver's mobile device disablesthe SMS messaging application 138 during the operation of theautomobile.

Methods and systems of controlling access to data on a device may beused to track users and either grant or block access to files, based onwhere the user is located. Such methods and systems may be associatedwith granting and/or blocking user access to one or more applications,based on where the user is located. Per an example above, a user locatedin a car may not be permitted to use the SMS application on the user'sdevice while the car is running Additionally, the user may be permittedto access certain media files while in the car (e.g. MP3s) andprohibited from accessing certain other media files while in the car(e.g. video files). Tracking a player of game based on the location ofthe player's device is a species of the foregoing. So, for example, afunction or data in multiplayer game may be associated with detecting orlocating another player. Such function or data may be enabled ordisabled, based on the proximity of a first player to a second player ofthe game.

The process of entering user credentials before being granted access toa computing system is a necessary yet tedious process. In many systems,it is imperative that a user is authenticated before being shownsensitive data in order to ensure, for example, privacy,confidentiality, or security. If only performed once, this process istrivial, but in environments where users must log in and log out ofsystems 20, 30, 40 or more times per day, this trivial amount of timebecomes significant. It therefore becomes advantageous to streamlinethis process and provide a different authentication medium.

Mobile devices, such as smartphones, tablets and other mobile computingdevices are becoming ubiquitous and, when tied to an individual, possessthe capability to authenticate a user in a different system. A securedcomputing system may be maintained without requiring a nearby user torepeat the step of logging in by tracking the previously authenticateduser's location.

Referring to FIG. 3, systems and methods of logging in a current user toa computing device based on the user location may comprise providing acomputing system enabled to communicate with a user's device 302;storing, by the computing system, the user's credentials capable ofauthenticating the user 304; authenticating on the computing system bythe user with the user's device 308; determining by the computing systemthe location of the user based on the location of the user's device 310(such location determination mechanism could be a system such as GPS orcould be a proprietary system implemented using a technology such asultrasonic sound, RF signals, Bluetooth signals, Wi-Fi signals, NFCtags, and/or the like); confirming the user's credentials by the user'sdevice 312; transmitting by the user's device the user's credentials tothe computing system 314; authenticating the user by the computingsystem if the determination is made that the user's device is inproximity to the computing system 320; and providing the user access tothe computing system 322. In embodiments, confirming the userscredentials with the user device 312 may comprise requiring the user tore-authenticate if the user's credentials are not confirmed. Inembodiments, if the user device is not within proximity to the computingsystem, the computing system may prohibit access by the user 318 and mayrequire the user re-authenticate. In embodiments, the user may berequired to confirm transmission of credentials before transmission. Inembodiments, a user may be authenticated without user intervention. Inembodiments, authenticating the user may include authenticating the userbased on one or more of a token, a password, a PIN, biometrics (e.g.retina scan, thumbprint, voice recognition, etc.).

Referring again to FIG. 1, the computing system 162 may be a server,such as a web server, a file server, an application server, a mailserver, an SaaS, an IaaS, a PaaS, a media server, a FTP server or someother server. In other embodiments, the computing system 162 may be alaptop, a terminal, a desktop, a workstation, a game console or someother computing system. The user's device 102 A, B and/or C may be asmartphone, tablet or other mobile device.

The user device 102A, B and/or C may determine its location by way of alocation determination mechanism. This location determination mechanismcould be a system such as GPS or could be a proprietary systemimplemented using a technology such as ultrasonic sound, RF signals,Bluetooth signals, Wi-Fi signals, NFC tags, and/or the like, such thatthe location of the user device 102A, B and/or C can be determined to beclose to the location of the computing system 162. Upon determining,that the user device 102A, B and/or C is in proximity to the computingsystem 162, authentication credentials are automatically transmitted tothe computing system 162 either directly or indirectly. In embodiments,transmitting the authentication credentials may include transmittingthem via a network 114, which may be a wireless LAN. The computingsystem 162 may then authenticate the user and may grant access to thesecured content without user intervention at the computing system 162.In some embodiments, the user device 102A, B and/or C may require theuser to confirm the transmission of credentials before transmission ofcredentials from the user device 102A, B and/or C to the computingsystem 162. In some embodiments, upon determining that the user device102 A, B and/or C is no longer present at the location corresponding tothe computing system 162, the computing system 162 may automaticallyde-authenticate the user. A person of skill in the art would understandthat arbitrary levels of security may be added to this system withoutsignificant deviation from the aforementioned embodiments, such asencryption, device authentication, and the like.

While only a few embodiments of the present invention have been shownand described, it will be obvious to those skilled in the art that manychanges and modifications may be made thereunto without departing fromthe spirit and scope of the present invention as described in thefollowing claims. All patent applications and patents, both foreign anddomestic, and all other publications referenced herein are incorporatedherein in their entireties to the full extent permitted by law.

The methods and systems described herein may be deployed in part or inwhole through a machine that executes computer software, program codes,and/or instructions on a processor. The present invention may beimplemented as a method on the machine, as a system or apparatus as partof or in relation to the machine, or as a computer program productembodied in a computer readable medium executing on one or more of themachines. In embodiments, the processor may be part of a server, cloudserver, client, network infrastructure, mobile computing platform,stationary computing platform, or other computing platform. A processormay be any kind of computational or processing device capable ofexecuting program instructions, codes, binary instructions and the like.The processor may be or may include a signal processor, digitalprocessor, embedded processor, microprocessor or any variant such as aco-processor (math co-processor, graphic co-processor, communicationco-processor and the like) and the like that may directly or indirectlyfacilitate execution of program code or program instructions storedthereon. In addition, the processor may enable execution of multipleprograms, threads, and codes. The threads may be executed simultaneouslyto enhance the performance of the processor and to facilitatesimultaneous operations of the application. By way of implementation,methods, program codes, program instructions and the like describedherein may be implemented in one or more thread. The thread may spawnother threads that may have assigned priorities associated with them;the processor may execute these threads based on priority or any otherorder based on instructions provided in the program code. The processor,or any machine utilizing one, may include memory that stores methods,codes, instructions and programs as described herein and elsewhere. Theprocessor may access a storage medium through an interface that maystore methods, codes, and instructions as described herein andelsewhere. The storage medium associated with the processor for storingmethods, programs, codes, program instructions or other type ofinstructions capable of being executed by the computing or processingdevice may include but may not be limited to one or more of a CD-ROM,DVD, memory, hard disk, flash drive, RAM, ROM, cache and the like.

A processor may include one or more cores that may enhance speed andperformance of a multiprocessor. In embodiments, the process may be adual core processor, quad core processors, other chip-levelmultiprocessor and the like that combine two or more independent cores(called a die).

The methods and systems described herein may be deployed in part or inwhole through a machine that executes computer software on a server,client, firewall, gateway, hub, router, or other such computer and/ornetworking hardware. The software program may be associated with aserver that may include a file server, print server, domain server,internet server, intranet server, cloud server and other variants suchas secondary server, host server, distributed server and the like. Theserver may include one or more of memories, processors, computerreadable media, storage media, ports (physical and virtual),communication devices, and interfaces capable of accessing otherservers, clients, machines, and devices through a wired or a wirelessmedium, and the like. The methods, programs or codes as described hereinand elsewhere may be executed by the server. In addition, other devicesrequired for execution of methods as described in this application maybe considered as a part of the infrastructure associated with theserver.

The server may provide an interface to other devices including, withoutlimitation, clients, other servers, printers, database servers, printservers, file servers, communication servers, distributed servers,social networks and the like. Additionally, this coupling and/orconnection may facilitate remote execution of program across thenetwork. The networking of some or all of these devices may facilitateparallel processing of a program or method at one or more locationwithout deviating from the scope of the disclosure. In addition, any ofthe devices attached to the server through an interface may include atleast one storage medium capable of storing methods, programs, codeand/or instructions. A central repository may provide programinstructions to be executed on different devices. In thisimplementation, the remote repository may act as a storage medium forprogram code, instructions, and programs.

The software program may be associated with a client that may include afile client, print client, domain client, internet client, intranetclient and other variants such as secondary client, host client,distributed client and the like. The client may include one or more ofmemories, processors, computer readable media, storage media, ports(physical and virtual), communication devices, and interfaces capable ofaccessing other clients, servers, machines, and devices through a wiredor a wireless medium, and the like. The methods, programs or codes asdescribed herein and elsewhere may be executed by the client. Inaddition, other devices required for execution of methods as describedin this application may be considered as a part of the infrastructureassociated with the client.

The client may provide an interface to other devices including, withoutlimitation, servers, other clients, printers, database servers, printservers, file servers, communication servers, distributed servers andthe like. Additionally, this coupling and/or connection may facilitateremote execution of program across the network. The networking of someor all of these devices may facilitate parallel processing of a programor method at one or more location without deviating from the scope ofthe disclosure. In addition, any of the devices attached to the clientthrough an interface may include at least one storage medium capable ofstoring methods, programs, applications, code and/or instructions. Acentral repository may provide program instructions to be executed ondifferent devices. In this implementation, the remote repository may actas a storage medium for program code, instructions, and programs.

The methods and systems described herein may be deployed in part or inwhole through network infrastructures. The network infrastructure mayinclude elements such as computing devices, servers, routers, hubs,firewalls, clients, personal computers, communication devices, routingdevices and other active and passive devices, modules and/or componentsas known in the art. The computing and/or non-computing device(s)associated with the network infrastructure may include, apart from othercomponents, a storage medium such as flash memory, buffer, stack, RAM,ROM and the like. The processes, methods, program codes, instructionsdescribed herein and elsewhere may be executed by one or more of thenetwork infrastructural elements. The methods and systems describedherein may be adapted for use with any kind of private, community, orhybrid cloud computing network or cloud computing environment, includingthose which involve features of software as a service (SaaS), platformas a service (PaaS), and/or infrastructure as a service (IaaS).

The methods, program codes, and instructions described herein andelsewhere may be implemented on a cellular network having multiplecells. The cellular network may either be frequency division multipleaccess (FDMA) network or code division multiple access (CDMA) network.The cellular network may include mobile devices, cell sites, basestations, repeaters, antennas, towers, and the like. The cell networkmay be a GSM, GPRS, 3G, EVDO, mesh, or other networks types.

The methods, programs codes, and instructions described herein andelsewhere may be implemented on or through mobile devices. The mobiledevices may include navigation devices, cell phones, mobile phones,mobile personal digital assistants, laptops, palmtops, netbooks, pagers,electronic books readers, music players and the like. These devices mayinclude, apart from other components, a storage medium such as a flashmemory, buffer, RAM, ROM and one or more computing devices. Thecomputing devices associated with mobile devices may be enabled toexecute program codes, methods, and instructions stored thereon.Alternatively, the mobile devices may be configured to executeinstructions in collaboration with other devices. The mobile devices maycommunicate with base stations interfaced with servers and configured toexecute program codes. The mobile devices may communicate on a peer topeer network, mesh network, or other communications network. The programcode may be stored on the storage medium associated with the server andexecuted by a computing device embedded within the server. The basestation may include a computing device and a storage medium. The storagedevice may store program codes and instructions executed by thecomputing devices associated with the base station.

The computer software, program codes, and/or instructions may be storedand/or accessed on machine readable media that may include: computercomponents, devices, and recording media that retain digital data usedfor computing for some interval of time; semiconductor storage known asrandom access memory (RAM); mass storage typically for more permanentstorage, such as optical discs, forms of magnetic storage like harddisks, tapes, drums, cards and other types; processor registers, cachememory, volatile memory, non-volatile memory; optical storage such asCD, DVD; removable media such as flash memory (e.g. USB sticks or keys),floppy disks, magnetic tape, paper tape, punch cards, standalone RAMdisks, Zip drives, removable mass storage, off-line, and the like; othercomputer memory such as dynamic memory, static memory, read/writestorage, mutable storage, read only, random access, sequential access,location addressable, file addressable, content addressable, networkattached storage, storage area network, bar codes, magnetic ink, and thelike.

The methods and systems described herein may transform physical and/oror intangible items from one state to another. The methods and systemsdescribed herein may also transform data representing physical and/orintangible items from one state to another.

The elements described and depicted herein, including in flow charts andblock diagrams throughout the figures, imply logical boundaries betweenthe elements. However, according to software or hardware engineeringpractices, the depicted elements and the functions thereof may beimplemented on machines through computer executable media having aprocessor capable of executing program instructions stored thereon as amonolithic software structure, as standalone software modules, or asmodules that employ external routines, code, services, and so forth, orany combination of these, and all such implementations may be within thescope of the present disclosure. Examples of such machines may include,but may not be limited to, personal digital assistants, laptops,personal computers, mobile phones, other handheld computing devices,medical equipment, wired or wireless communication devices, transducers,chips, calculators, satellites, tablet PCs, electronic books, gadgets,electronic devices, devices having artificial intelligence, computingdevices, networking equipment, servers, routers and the like.Furthermore, the elements depicted in the flow chart and block diagramsor any other logical component may be implemented on a machine capableof executing program instructions. Thus, while the foregoing drawingsand descriptions set forth functional aspects of the disclosed systems,no particular arrangement of software for implementing these functionalaspects should be inferred from these descriptions unless explicitlystated or otherwise clear from the context. Similarly, it will beappreciated that the various steps identified and described above may bevaried, and that the order of steps may be adapted to particularapplications of the techniques disclosed herein. All such variations andmodifications are intended to fall within the scope of this disclosure.As such, the depiction and/or description of an order for various stepsshould not be understood to require a particular order of execution forthose steps, unless required by a particular application, or explicitlystated or otherwise clear from the context.

The methods and/or processes described above, and steps associatedtherewith, may be realized in hardware, software or any combination ofhardware and software suitable for a particular application. Thehardware may include a general purpose computer and/or dedicatedcomputing device or specific computing device or particular aspect orcomponent of a specific computing device. The processes may be realizedin one or more microprocessors, microcontrollers, embeddedmicrocontrollers, programmable digital signal processors or otherprogrammable device, along with internal and/or external memory. Theprocesses may also, or instead, be embodied in an application specificintegrated circuit, a programmable gate array, programmable array logic,or any other device or combination of devices that may be configured toprocess electronic signals. It will further be appreciated that one ormore of the processes may be realized as a computer executable codecapable of being executed on a machine readable medium.

The computer executable code may be created using a structuredprogramming language such as C, an object oriented programming languagesuch as C++, or any other high-level or low-level programming language(including assembly languages, hardware description languages, anddatabase programming languages and technologies) that may be stored,compiled or interpreted to run on one of the above devices, as well asheterogeneous combinations of processors, processor architectures, orcombinations of different hardware and software, or any other machinecapable of executing program instructions.

Thus, in one aspect, methods described above and combinations thereofmay be embodied in computer executable code that, when executing on oneor more computing devices, performs the steps thereof. In anotheraspect, the methods may be embodied in systems that perform the stepsthereof, and may be distributed across devices in a number of ways, orall of the functionality may be integrated into a dedicated, standalonedevice or other hardware. In another aspect, the means for performingthe steps associated with the processes described above may include anyof the hardware and/or software described above. All such permutationsand combinations are intended to fall within the scope of the presentdisclosure.

While the disclosure has been disclosed in connection with the preferredembodiments shown and described in detail, various modifications andimprovements thereon will become readily apparent to those skilled inthe art. Accordingly, the spirit and scope of the present disclosure isnot to be limited by the foregoing examples, but is to be understood inthe broadest sense allowable by law.

The use of the terms “a” and “an” and “the” and similar referents in thecontext of describing the disclosure (especially in the context of thefollowing claims) is to be construed to cover both the singular and theplural, unless otherwise indicated herein or clearly contradicted bycontext. The terms “comprising,” “having,” “including,” and “containing”are to be construed as open-ended terms (i.e., meaning “including, butnot limited to,”) unless otherwise noted. Recitation of ranges of valuesherein are merely intended to serve as a shorthand method of referringindividually to each separate value falling within the range, unlessotherwise indicated herein, and each separate value is incorporated intothe specification as if it were individually recited herein. All methodsdescribed herein can be performed in any suitable order unless otherwiseindicated herein or otherwise clearly contradicted by context. The useof any and all examples, or exemplary language (e.g., “such as”)provided herein, is intended merely to better illuminate the disclosureand does not pose a limitation on the scope of the disclosure unlessotherwise claimed. No language in the specification should be construedas indicating any non-claimed element as essential to the practice ofthe disclosure.

While the foregoing written description enables one of ordinary skill tomake and use what is considered presently to be the best mode thereof,those of ordinary skill will understand and appreciate the existence ofvariations, combinations, and equivalents of the specific embodiment,method, and examples herein. The disclosure should therefore not belimited by the above described embodiment, method, and examples, but byall embodiments and methods within the scope and spirit of thedisclosure.

All documents referenced herein are hereby incorporated by reference.

1. A method of adjusting a user interaction with an environment based ona user location, comprising: providing a plurality of beacons in theenvironment, wherein each beacon emits a localization signal; receivingdata derived from the localization signal emitted by at least one of thebeacons from a user device; determining an initial location of a userdevice within the environment based on the localization signal;providing a first user interaction via a first device of a plurality ofdevices in the environment, wherein the first device is selected fromthe plurality of devices based on the initial location of the userdevice; determining an updated location of the user device within theenvironment; providing a second user interaction via a second device ofthe plurality of devices in the environment, wherein the second deviceis selected from the plurality of devices based on the updated locationof the user device.
 2. The method of claim 1, wherein the beacons emitlocalization signals via one or more of Wi-Fi, Bluetooth, Bluetooth LE,ultrasonic sound, or Zigbee.
 3. The method of claim 1, wherein providinga first user interaction comprises streaming a media stream to the firstdevice.
 4. The method of claim 1, wherein providing a second userinteraction comprises streaming a media stream to the second device. 5.The method of claim 4, further comprising terminating the first userinteraction upon providing the second user interaction.
 6. The method ofclaim 1, further comprising providing a control interface on a userdevice for one or more transmitters, and wherein providing a first userinteraction comprises configuring the control interface to control thefirst device.
 7. The method of claim 6, wherein providing a second userinteraction comprises modifying the control interface to control thesecond device.
 8. The method of claim 1, further comprising providing aconfigurable display on a user device, wherein providing a first userinteraction comprises configuring the configurable display to display acoupon associated with the first device and wherein providing a seconduser interaction comprises reconfiguring the configurable display todisplay a coupon associated with the second device.
 9. A system foradjusting user device behavior based on user device location in amultiple device environment, comprising: a first user device comprising:a first display; a first receiver for receiving localization signals;and a first emitter for emitting a first localization signal; and asecond user device comprising: a second display; a second receiver forreceiving localization signals; a second emitter for emitting a secondlocalization signal; and a modification system configured to modify thesecond display based on a received first localization signal.
 10. Thesystem of claim 9, wherein the receiver comprises a microphone, theemitter comprises a speaker, and the localization signal is ahigh-frequency acoustic signal.
 11. The system of claim 9, wherein thefirst user device and second user device interact with a softwareapplication.
 12. The system of claim 9, wherein the first user deviceand second user device are connected to a third user device whichexecutes the software application.
 13. The system of claim 9, whereinthe first localization signal is uniquely assigned to the first userdevice.
 14. The system of claim 13, wherein the second localizationsignal is uniquely assigned to the second user device.
 15. The system ofclaim 14, further comprising a third user device, wherein the third userdevice is configured to grant the first user device access to the thirduser device upon simultaneous detection of the first localization signaland the second localization signal.
 16. The system of claim 9, whereinthe first and second user devices execute a multiplayer gameapplication.
 17. A system comprising: a plurality of beacons, whereineach of the plurality of beacons emits a localization signal; a userdevice comprising: a receiver for receiving localization signals; and atransmitter for transmitting data related to at least one localizationsignal received by the receiver; a plurality of user interactiondevices; and a control module comprising: a receiver for receiving datarelated to at least one localization signal from the user device; alocation monitor facility configured to determine a location of the userdevice based on the received data related to at least one localizationsignal; and a location update facility configured to select a userinteraction device of the plurality of user interaction devices, whereinthe user interaction device is selected based on the determined locationof the user device.
 18. The system of claim 17, wherein the selecteduser interaction device is reconfigured based on the determined locationof the user device.
 19. The system of claim 17, wherein the localizationsignals are emitted via one or more of Wi-Fi, Bluetooth, Bluetooth LE,ultrasonic sound, or Zigbee.
 20. The system of claim 17, wherein theplurality of user interaction devices comprise a plurality of gamecontrollers and wherein the control module executes a multiplayer gamesoftware application.